package cn.miju.admin.system.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * <pre>
 * 用户登录
 * </pre>
 *
 * @author zhuming
 * @version 1.0.0
 * @since 2023-03-18 15:33
 */
@Data
@Builder
@AllArgsConstructor
@ApiModel
public class LoginOutVO {
    /**
     * token
     */
    @ApiModelProperty(value = "token")
    private String token;
    /**
     * 用户信息
     */
    @ApiModelProperty(value = "用户信息")
    private UserInfo userInfo;

    @Data
    @Builder
    @AllArgsConstructor
    @NoArgsConstructor
    public static class UserInfo {
        @ApiModelProperty(hidden = true)
        private String dashboard = "0";
        /**
         * 用户ID
         */
        @ApiModelProperty(value = "用户ID")
        private Long userId;
        /**
         * 账号
         */
        @ApiModelProperty(value = "账号")
        private String accountNo;
        /**
         * 用户名
         */
        @ApiModelProperty(value = "用户名")
        private String username;
        /**
         * 性别[0：保密 1：男 2：女]
         */
        @ApiModelProperty(value = "性别[0：保密 1：男 2：女]")
        private String sex;
        /**
         * 手机号
         */
        @ApiModelProperty(value = "手机号")
        private String mobile;
        /**
         * 邮箱
         */
        @ApiModelProperty(value = "邮箱")
        private String email;
        /**
         * 个性签名
         */
        @ApiModelProperty(value = "个性签名")
        private String signature;
        /**
         * 角色
         */
        @ApiModelProperty(value = "角色")
        private List<String> role;
        /**
         * 角色ID
         */
        @ApiModelProperty(value = "角色ID")
        private List<Long> roleIds;
    }

}
